Stream processing is a computer programming paradigm that processes data as data is produced or received. Stream processing allows for potentially large amounts of data to be processed (e.g., by an analytics tool) in near real-time. Batch processing involves processing data that may have been collected over time, and may be used (e.g., by an analytics tool) to process a very large amount of data that may take a long time to process and/or does not have to be processed in near real-time.